package com.uzai.console.service.wechatprivate;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.uzai.console.dto.wechatprivate.wxq.wxgroupmenber.WxGroupMemberBlacklistDto;
import com.uzai.console.dto.wechatprivate.wxq.wxgroupmenber.WxGroupMemberIdDto;
import com.uzai.console.dto.wechatprivate.wxq.wxgroupmenber.WxGroupMemberKickDto;
import com.uzai.console.dto.wechatprivate.wxq.wxgroupmenber.WxGroupMemberQuery;
import com.uzai.console.dto.wechatwork.wxq.wxgroup.AddManagerDto;
import com.uzai.console.dto.wechatwork.wxq.wxgroup.DelManagerDto;
import com.uzai.console.dto.wechatwork.wxq.wxgroup.WxGroupMemberSetAdminDto;
import com.uzai.console.vo.wechatprivate.wxq.wxgroupmember.WxGroupMemberInfoVo;
import com.uzai.console.vo.wechatprivate.wxq.wxgroupmember.WxGroupMemberRelationVo;

/**
 * @author liuqi
 * @date 2021年08月13日 11:33
 */
public interface WxGroupMemberService {

    /**
     * 查询微信群成员列表
     *
     * @param wxGroupMemberQuery
     * @return null
     * @author liuqi
     * @date 2021/8/13 11:38
     */
    Page<WxGroupMemberInfoVo> findWxGroupMemberList(WxGroupMemberQuery wxGroupMemberQuery, Boolean tuominFlag);

    /**
     * 踢出该群
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param wxGroupMemberKickDto
     * @return null
     */
    void kickWxGroupMember(WxGroupMemberKickDto wxGroupMemberKickDto);

    /**
     * 踢出该群
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param wxGroupMemberKickDto
     * @return null
     */
    void kickWxGroupMemberByMemberIdList(WxGroupMemberKickDto wxGroupMemberKickDto);

    /**
     * 添加好友
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param wxGroupMemberIdDto
     * @return null
     */
    void addFriend(WxGroupMemberIdDto wxGroupMemberIdDto);

    /**
     * 加入黑名单
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param wxGroupMemberBlacklistDto
     * @return null
     */
    void addBlacklist(WxGroupMemberBlacklistDto wxGroupMemberBlacklistDto);

    /**
     * 查询邀请关系
     * @author liuqi
     * @date 2021/8/13 11:38
     * @param wxGroupMemberIdDto
     * @return null
     */
    WxGroupMemberRelationVo findInviteRelation(WxGroupMemberIdDto wxGroupMemberIdDto);


     void setAdmin(WxGroupMemberSetAdminDto wxGroupMemberSetAdminDto);
    void addManager(AddManagerDto addManagerDto);

    void delManager(DelManagerDto delManagerDto);
}
